package cn.tedu.basic;/**
 * @Author 金帮嘉诚 @Date 2021-06-25 星期五 20:05
 */
/**知识点
 * 要获取一个数字的某位数：比如获取百位，用 number/100%10 千位：number/1000%10
 * 注意四则运算不改变原数字
 *
 * 自增自减会改变原数字
 * 注意自增自减的时机
 * */
/*本类用于测试取余和自增自减运算符*/
public class TestOperator {
    //0.创建程序的入口函数
    public static void main(String[] args) {
        /*+-/* /*基本四则运算*/
        //1.测试除法取余
        System.out.println(25/10);//2--int/int,结果是int
        System.out.println(25%10);//5--求余数

        //练习：求两位数的十位和个位
        int x=59;
        System.out.println(x/10);//打印十位5
        System.out.println(x%10);//打印个位9
        //练习：求三位数的百位十位个位
        int y=123;
        System.out.println(y/100%10);//打印 百位1
        System.out.println(y/10%10);//打印 十位2,先除以十，结果是12，再取余，余数为2

        System.out.println(y%100%10);//打印 个位3，先取余，结果是23，再取余，结果是3
        System.out.println(y%10);//打印 个位3，对10取余，结果是3

        /*测试自增自减运算符*/
        /*++：变量的值+1  --：变量的值-1
         *前缀式，符号在前，++a，--a，先变化（+1或-1），再使用
         *后缀式，符号在后，a++，a--，先使用，再变化（+1或-1）
         * */
        int a=1;
        System.out.println("*******分界线********");
        System.out.println(a++);//1,后缀式，要先打印，不会影响本次打印
        System.out.println(a);//2，之前已经使用过了，变量值+1

        int b=1;
        System.out.println(++b);//2,前缀式,先自增，再打印

        int c=1;
        System.out.println(c--);//1,后缀式，先使用再自减
        System.out.println(c);//0，之前使用过了，所以打印的是自减后的0

        int d=1;
        System.out.println(--d);//0,前缀式，符号在前，先自减，再打印

        /*注意：之前的代码会对后面的代码产生影响*/
        /*自增自减运算符会改变变量本身的值，而普通的四则运算不会*/
        //此处c的初始值是0
        System.out.println(--c-c-c--);//-1-(-1)-(-1)=1
        System.out.println(c);//-2

    }

}
